//
//  WBTitleButton.swift
//  czWB
//
//  Created by Qing on 2018/12/27.
//  Copyright © 2018年 成哥哥. All rights reserved.
//

import UIKit

class WBTitleButton: UIButton {
    
    /// 重载构造函数
    ///
    /// - Parameter title: 用户当前昵称
    init(title: String?) {
        super.init(frame: CGRect())
        
        if title == nil {
            setTitle("首页", for: [])
        } else {
            
//            设置抬头文字
            setTitle(title, for: [])
//            设置文字颜色
            setTitleColor(UIColor.darkGray, for: [])
            
            titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
            
//            设置图片
            setImage(UIImage(named: "homeTitle_Image_down"), for:.normal)
            setImage(UIImage(named: "homeTitle_Image_up"), for:.selected)
            
//            更新自定义文字和图片的初始位置布，如果没有这个，开始显示的位置会不对。
            imageView?.sizeToFit()
            titleLabel?.sizeToFit()
            
//            根据文字调整大小
            sizeToFit()
            
        }
        
        
    }
    
//    用代码布局这个是用得最多的，必须要调用父类的方法，不然看不到显示。
    override func layoutSubviews() {
        
        super.layoutSubviews()
        
//        如果图片和昵称未创建，则返回。
        guard let imageView = imageView,
            let titleLabel = titleLabel else {
            
            return
        }
//
//        总体宽度不变的情况下，图片X 向右移动到文字的X位置。
        imageView.frame = imageView.frame.offsetBy(dx: titleLabel.bounds.width, dy: 0)
//        总体宽度不变的情况下，文字向左移动到图片的X位置。
        titleLabel.frame = titleLabel.frame.offsetBy(dx: -imageView.bounds.width, dy: 0)
  
        
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
}
